package com.design.interpreter.format;

import java.util.Date;

// 抽象表达式接口
interface FormatExpression {
    String interpret(Date date);
}

// 年月日格式表达式
class YearMonthDayExpression implements FormatExpression {
    @Override
    public String interpret(Date date) {
        // 简化处理，假设年、月、日都是合法数字
        int year = date.getYear() + 1900;
        int month = date.getMonth() + 1;
        int day = date.getDate();
        return String.format("%04d-%02d-%02d", year, month, day);
    }
}

// 月日年格式表达式
class MonthDayYearExpression implements FormatExpression {
    @Override
    public String interpret(Date date) {
        // 简化处理，假设年、月、日都是合法数字
        int year = date.getYear() + 1900;
        int month = date.getMonth() + 1;
        int day = date.getDate();
        return String.format("%02d/%02d/%04d", month, day, year);
    }
}
